const config = require('../templates')
const chalk = require('chalk') // 给提示语添加色彩
const fs = require('fs')
const inquirer = require('inquirer') // 提供交互式命令行
const clear = require('clear') // 清除命令

module.exports = () => {
  clear()
  inquirer
    .prompt([
      {
        name: 'templateName',
        type: 'list',
        message: '请选择你需要删除的项目模板：',
        choices: Object.keys(config.templates),
        validate: function (value) {
          if (value.length) {
            if (!config.templates[value]) {
              return '模板不存在，请重新输入'
            } else {
              return true
            }
          } else {
            return '请输入要删除的模板名称'
          }
        }
      }
    ])
    .then((res) => {
      config.templates[res.templateName] = undefined
      fs.writeFile(
        __dirname + '/../templates.json',
        JSON.stringify(config),
        'utf-8',
        (err) => {
          if (err) {
            console.log(err)
          } else {
            console.log(chalk.green('模板已删除！'))
          }
          process.exit()
        }
      )
    })
    .catch((error) => {
      console.log(error)
      console.log('发生错误:', chalk.red(JSON.stringify(error)))
      process.exit()
    })
}
